A process running on a computer system may receive data from multiple sources and/or send data to multiple destinations. Conceptually, means for implementing these input/output operations may be represented by an abstract model of a communication channel (e.g., implemented by a Transmission Control Protocol (TCP) connection or a sequence of User Datagram Protocol (UDP) datagrams) which on both sides is terminated by communication endpoints (referred to as sockets). A socket, addressable by a file descriptor, may be utilized for receiving and/or transmitting data.